<template>
  <div>
    <!-- 推荐歌单 -->
    <div class="recomand">
      <p class="title">推荐歌单</p>
      <!-- 图片部分 -->
      <van-row gutter="5">
        <!-- vant里的栅格分为24格 -->
        <van-col v-for="item in recList" :key="item.id" span="8">
          <!-- 图片 -->
          <van-image height="120" fit="cover" :src="item.picUrl" />
          <!-- 歌名 -->
          <div class="song_name">{{ item.name }}</div>
        </van-col>
      </van-row>
    </div>

    <!-- 推荐音乐 -->
    <div>
      <p class="title">最新音乐</p>
      <!-- 下面的cell -->
      <van-cell-group>
        <van-cell
          v-for="item in musicList"
          :key="item.id"
          :title="item.name"
          :label="item.song.artists[0].name + ' - ' + item.name"
        >
          <template #right-icon>
            <div style="display: flex; align-items: center">
              <van-icon style="font-size: 24px" name="play-circle-o" />
            </div>
          </template>
        </van-cell>
      </van-cell-group>
    </div>
  </div>
</template>

<script>
// 导入封装的接口
import { recommandAPI, newMusicAPI } from "@/api";

export default {
  data() {
    return {
      recList: [],
      musicList: [],
    };
  },
  // 发请求
  async created() {
    // 有参数
    // 什么样的promise代码才看起来比较简洁？？
    // recommandAPI({
    //   limit: 6,
    // }).then((res) => {
    //   console.log(res);
    // });

    // 调用接口得到结果
    let res = await recommandAPI({ limit: 6 });
    this.recList = res.data.result;

    // 请求最新音乐
    let res2 = await newMusicAPI({ limit: 20 });
    this.musicList = res2.data.result;
  },
};
</script>

<style>
/* 标题 */
.title {
  padding: 10px 15px;
  margin: 0 0 15px 0;
  background-color: #eee;
  color: #333;
  font-size: 15px;
}
/* 推荐歌单 - 歌名 */
.song_name {
  font-size: 12px;
  padding: 0 5px;
  margin-bottom: 10px;
  word-break: break-all;
  text-overflow: ellipsis;
  display: -webkit-box; /** 对象作为伸缩盒子模型显示 **/
  -webkit-box-orient: vertical; /** 设置或检索伸缩盒对象的子元素的排列方式 **/
  -webkit-line-clamp: 2; /** 显示的行数 **/
  overflow: hidden; /** 隐藏超出的内容 **/
}
</style>